package com.mttk.api.addon.ai.pool;

import com.mttk.api.addon.annotation.ui.Control;
import com.mttk.api.addon.annotation.ui.Panel;
import com.mttk.api.addon.annotation.ui.Table;

@Panel(key = "siliconPanel", label = "", bindings = { "show:this.data.provider=='silicon'" })
@Control(key = "silicon_model", parent = "siliconPanel", label = "模型", description = "参数含义请参考  https://docs.siliconflow.cn/", mandatory = true, defaultVal = "deepseek-ai/DeepSeek-V3")
@Control(key = "silicon_url", parent = "siliconPanel", label = "基础URL", mandatory = true, defaultVal = "https://api.siliconflow.cn/v1")

@Control(key = "prop_silicon_max_tokens", parent = "siliconPanel", defaultVal = "", props = {
		"dataType:number" }, label = "max_tokens")
@Control(key = "prop_silicon_temperature", parent = "siliconPanel", defaultVal = "", props = {
		"dataType:number" }, label = "temperature")
@Control(key = "prop_silicon_top_p", parent = "siliconPanel", defaultVal = "", props = {
		"dataType:number" }, label = "top_p")
@Control(key = "prop_silicon_top_k", parent = "siliconPanel", defaultVal = "", props = {
		"dataType:number" }, label = "top_k")
@Control(key = "frequency_penalty", parent = "siliconPanel", defaultVal = "", props = {
		"dataType:number" }, label = "frequency_penalty")
@Control(key = "prop_silicon_n", parent = "siliconPanel", defaultVal = "", props = {
		"dataType:number" }, label = "n")
@Control(key = "prop_silicon_response_format", parent = "siliconPanel", defaultVal = "", label = "response_format")
@Control(key = "prop_silicon_stream", parent = "siliconPanel", mode = "checkbox", defaultVal = "false", bindings = {
		"show:false" }, props = { "dataType:number" }, label = "stream")
@Table(key = "prop_silicon_stop", parent = "siliconPanel", props = { "width:30%",
		"labelWidth: 120px" }, label = "stop")
@Control(key = "value", label = "stop", size = 1, mandatory = true, parent = "prop_silicon_stop")
public interface AiPoolSilicon {

}
